package com.qf.service;

import com.github.pagehelper.PageInfo;
import com.qf.entity.Role;
import com.qf.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

import java.util.List;

public interface UserService {

    //根据用户名查找用户信息
    User findByUsername(String username);

    /**
     * 封装菜单信息
     * @param userId
     * @return
     */
    Role findRole(Integer userId);


    //分页+模糊查
    PageInfo<User> findAllUsers(Map map, Integer page);

    //禁用员工
    int setUserStausService(Integer userId);

    //启用
    int setUserStausActive(Integer userId);

    //添加员工
    int addUser(User user);

    //修改员工信息前预览
    User preUpdate( Integer userId);

    //修改员工
    int updateUser(User user);

    //假的删除
    int deleteUserEmpById( Integer userId);

    //批量删除
    void deleteUserEmpMany(List<Integer> id);

    //导出excle
    List<User> getExcle( List<Integer> list);

    //异步校验用户名
    Integer ajaxUserId(String username);

    //查看角色信息
    User lookUser(Integer userId);

    //根据角色编号查询
    String findUserNameByRoleId(List<Integer> roleId);
    //修改个人密码
    void updateUserPassword(String username, String oldPassword, String newPassword);

    List<User> findAllUser();

    User checkdeptmanager();

    User checkdeptmanagerci();

    User checkdeptmanagergm();

    List<User> findAll();
}
